home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmigaPlus / Tools / Development / envCPP31 / compilers / stormc / rexx / shell.rexx < prev   
Encoding:
OS/2 REXX Batch file  |  2002-01-01  |  2.4 KB  |  118 lines

  1. /* rexx macro */
  2.  
  3. options results                             /* enable return codes     */
  4.  
  5. if (left(address(), 6) ~= "GOLDED") then    /* not started by GoldEd ? */
  6.  
  7.     address 'GOLDED.1'
  8.  
  9. 'LOCK CURRENT RELEASE=4'                    /* lock GUI, gain access   */
  10.  
  11. if (RC ~= 0) then
  12.  
  13.     exit
  14.  
  15. options failat 6                            /* ignore warnings         */
  16.  
  17. signal on syntax                            /* ensure clean exit       */
  18.  
  19. /* ------------------------- INSERT YOUR CODE HERE: -------------------- */
  20.  
  21. /* INPUT: COMMAND/K */
  22.  
  23. parse upper arg COMMAND .
  24.  
  25. 'QUERY CAT'
  26.  
  27. if (RESULT = "deutsch") then do
  28.  
  29.     STRING.sSTARTINGSHELL = "Starten der StormC-Shell..."
  30.     STRING.sSTORMSHELL    = "Kann die StormC-Shell nicht starten !"
  31. end
  32. else do
  33.  
  34.     STRING.sSTARTINGSHELL = "Starting StormC-Shell..."
  35.     STRING.sSTORMSHELL    = "Can not start the StormC shell !"
  36. end
  37.  
  38. call run_stormc
  39.  
  40. if (COMMAND ~= "") then do
  41.  
  42.     if (COMMAND = "MAKE") then do
  43.  
  44.         'QUERY OPTIONHIERARCHICAL VAR=HIERARCHICAL'
  45.  
  46.         'QUERY OPTIONRECOMPILE VAR=RECOMPILE'
  47.  
  48.         if (HIERARCHICAL = "TRUE") then do
  49.  
  50.             if (RECOMPILE = "TRUE") then
  51.                 COMMAND = "MAKEALLHIERARCHICAL"
  52.             else
  53.                 COMMAND = "MAKEHIERARCHICAL"
  54.         end
  55.         else do
  56.  
  57.             if (RECOMPILE = "TRUE") then
  58.                 COMMAND = "MAKEALL"
  59.             else
  60.                 COMMAND = "MAKE"
  61.         end
  62.     end
  63.     else if (COMMAND = "ADDFILE") then do
  64.  
  65.         'QUERY DOC VAR=FILE'
  66.  
  67.         COMMAND = COMMAND || ' ' || FILE
  68.     end
  69.  
  70.     options failat 25
  71.  
  72.     address 'STORMSHELL' COMMAND
  73. end
  74.  
  75. /* ---------------------------- END OF YOUR CODE ----------------------- */
  76.  
  77. 'UNLOCK' /* VERY important: unlock GUI */
  78. EXIT
  79.  
  80. SYNTAX:
  81.  
  82. SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
  83. 'UNLOCK'
  84. EXIT
  85.  
  86. /* /// "run_stormc" */
  87.  
  88. run_stormc: procedure EXPOSE STRING.
  89.  
  90.     if (~show('P', 'STORMSHELL')) then do
  91.  
  92.         if (exists("stormc:stormsys/stormshell")) then do
  93.  
  94.             'REQUEST STATUS="' || STRING.sSTARTINGSHELL || '"'
  95.  
  96.             'QUERY PATH VAR=PATH'
  97.  
  98.             'QUERY SCREEN VAR=SCREEN'
  99.  
  100.             'RUN ASYNC CMD="stormc:stormsys/stormshell golded pubscreen=*"' || SCREEN || '*"" WAITPORT="STORMSHELL" SECONDS=10 STACK=16384 DIR="' || PATH || '"'
  101.  
  102.             'REQUEST STATUS=""'
  103.         end
  104.     end
  105.  
  106.     if (~show('P', 'STORMSHELL')) then do
  107.  
  108.         'REQUEST PROBLEM="' || STRING.sSTORMSHELL || '"'
  109.  
  110.         'UNLOCK'
  111.  
  112.         exit
  113.     end
  114.  
  115.     return
  116.  
  117. /* /// */
  118.